/**
* 专升本信息管理 专升本审核
*/
<template>
	<div>
		<!-- 面包屑导航 -->
		<el-breadcrumb separator-class="el-icon-arrow-right" class="bar-font">
			<el-breadcrumb-item>专升本信息管理</el-breadcrumb-item>
			<el-breadcrumb-item>专升本审核</el-breadcrumb-item>
		</el-breadcrumb>

		<!-- 搜索筛选 -->
		<el-form :inline="true" :model="formInline" class="user-search">
			<el-form-item label="搜索：">
				<el-input size="small" v-model="formInline.infoStudentId" placeholder="输入学号"></el-input>
			</el-form-item>
			<el-form-item label="">
				<el-input size="small" v-model="formInline.infoStudentName" placeholder="输入学生姓名"></el-input>
			</el-form-item>
			<el-form-item>
				<el-button size="small" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
			</el-form-item>
		</el-form>
		<el-form :inline="true" :model="formInline" class="audit">
			<el-form-item>
				<el-button class="button" size="small" type="primary" icon="el-icon-circle-close"
					@click="auditConvertFlase">未审核
				</el-button>
			</el-form-item>
			<el-form-item>
				<el-button class="button" size="small" type="success" icon="el-icon-circle-check"
					@click="auditConvertTrue">已审核
				</el-button>
			</el-form-item>
		</el-form>

		<!--列表-->
		<el-table size="small" :data="listData" highlight-current-row v-loading="loading" border
			element-loading-text="拼命加载中" style="width: 100%;">
			<el-table-column align="center" type="selection" width="60">
			</el-table-column>
			<el-table-column sortable prop="infoStudentId" label="学号" width="200"></el-table-column>
			<el-table-column sortable prop="infoStudentName" label="姓名" width="200"></el-table-column>
			<el-table-column sortable prop="infoAverageScore" label="学生平均成绩" width="200"></el-table-column>
			<el-table-column sortable prop="infoLocation" label="地址" width="200"></el-table-column>
			<el-table-column sortable prop="infoAge" label="学生年龄" width="200"></el-table-column>
			<el-table-column sortable prop="infoGrade" label="学生年级" width="200"></el-table-column>
			<el-table-column sortable prop="infoIsPass" label="是否审核通过" width="200"
				v-if="formInline.infoIsPass != 0 ? true:false" :formatter="formatAudit"></el-table-column>
			<el-table-column align="center" label="操作" min-width="200">
				<template slot-scope="scope">
					<el-button type="success" size="mini" @click="auditPass(scope.$index, scope.row)"
						v-show="formInline.infoIsPass == 0 ? true:false">通过</el-button>
					<el-button type="danger" size="mini" @click="auditFail(scope.$index, scope.row)"
						v-show="formInline.infoIsPass == 0 ? true:false">不通过</el-button>
					<el-button type="warning" size="mini" @click="auditCancellation(scope.$index, scope.row)"
						v-show="formInline.infoIsPass != 0 ? true:false">撤销审核结果</el-button>
				</template>
			</el-table-column>
		</el-table>
		<!-- 分页组件 -->
		<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
			:page-sizes="pageSizes" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
			:total="total">
		</el-pagination>
		<!-- 编辑界面 -->
		<el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @click="closeDialog">
			<el-form label-width="120px" :model="editForm" :rules="rules" ref="editForm">
				<el-form-item label="部门名称" prop="deptName">
					<el-input size="small" v-model="editForm.deptName" auto-complete="off" placeholder="请输入部门名称">
					</el-input>
				</el-form-item>
				<el-form-item label="部门代码" prop="deptNo">
					<el-input size="small" v-model="editForm.deptNo" auto-complete="off" placeholder="请输入部门代码">
					</el-input>
				</el-form-item>
			</el-form>
			<div slot="footer" class="dialog-footer">
				<el-button size="small" @click="closeDialog">取消</el-button>
				<el-button size="small" type="primary" :loading="loading" class="title" @click="submitForm('editForm')">
					保存</el-button>
			</div>
		</el-dialog>
	</div>
</template>

<script>
	import {
		infosearch,
		infoEdit
	} from '../../api/getData'
	export default {
		data() {
			return {
				nshow: true, //switch开启
				fshow: false, //switch关闭
				loading: false, //是显示加载
				editFormVisible: false, //控制编辑页面显示与隐藏
				title: '添加',
				editForm: {
					infoStudentName: '',
					infoAverageScore: '',
					infoStudentId: '',
					infoLocation: '',
					infoAge: '',
					infoGrade: '',
					infoIsPass: '',
					token: localStorage.getItem('logintoken')
				},
				// rules表单验证
				rules: {
					deptName: [{
						required: true,
						message: '请输入部门名称',
						trigger: 'blur'
					}],
					deptNo: [{
						required: true,
						message: '请输入部门代码',
						trigger: 'blur'
					}]
				},
				formInline: {
					infoStudentId: '',
					infoStudentName: '',
					infoIsPass: 0
				},
				// 删除部门
				seletedata: {
					ids: '',
					token: localStorage.getItem('logintoken')
				},
				userparm: [], //搜索权限
				listData: [], //用户数据
				// 分页参数
				pageSizes: [10, 20, 40, 400],
				total: 100,
				currentPage: 1,
				pageSize: 10
			}
		},


		/**
		 * 创建完毕
		 */
		created() {
			this.getdata(this.formInline)
		},

		/**
		 * 里面的方法只有被调用才会执行
		 */
		methods: {
			getdata(parameter) {
				this.formInline.page = this.currentPage;
				this.formInline.limit = this.pageSize
				console.log(parameter)
				this.loading = true
				infosearch(parameter)
					.then(res => {
						this.loading = false
						console.log(res)
						if (res != -1) {
							this.listData = res.datas
							// 分页赋值
							this.total = res.total
						}
					})
					.catch(err => {
						this.loading = false
						this.$message.error('菜单加载失败，请稍后再试！')
					})
			},
			handleSizeChange(val) {
				console.log(`每页 ${val} 条`);
				this.pageSize = val;
				this.search();
			},
			handleCurrentChange(val) {
				console.log(`当前页: ${val}`);
				this.currentPage = val;
				this.search();
			},
			auditConvertFlase() {
				this.formInline.infoIsPass = "0";
				console.log(this.formInline)
				this.getdata(this.formInline)
			},
			auditConvertTrue() {
				this.formInline.infoIsPass = "1,2";
				console.log(this.formInline)
				this.getdata(this.formInline)
			},
			auditPass: function(index, row) {
				row.infoIsPass = 1;
				infoEdit(row).then(res => {
					if (res != -1) {
						this.getdata(this.formInline);
						this.$message({
							type: 'success',
							message: '审核成功!'
						})
					} else {
						this.$message({
							type: 'error',
							message: '系统繁忙!'
						})
					}
				})
			},
			auditFail: function(index, row) {
				row.infoIsPass = 2;
				infoEdit(row).then(res => {
					if (res != -1) {
						this.getdata(this.formInline);
						this.$message({
							type: 'success',
							message: '审核成功!'
						})
					} else {
						this.$message({
							type: 'error',
							message: '系统繁忙!'
						})
					}
				})
			},
			auditCancellation: function(index, row) {
				row.infoIsPass = 0;
				infoEdit(row).then(res => {
					if (res != -1) {
						this.getdata(this.formInline);
						this.$message({
							type: 'success',
							message: '审核成功!'
						})
					} else {
						this.$message({
							type: 'error',
							message: '系统繁忙!'
						})
					}
				})
			},
			// 分页插件事件
			callFather(parm) {
				this.formInline.page = parm.currentPage
				this.formInline.limit = parm.pageSize
				this.getdata(this.formInline)
			},
			// 搜索事件
			search() {
				this.getdata(this.formInline)
			},
			//显示编辑界面
			handleEdit: function(index, row) {
				this.editFormVisible = true
				if (row != undefined && row != 'undefined') {
					this.title = '修改'
					this.editForm.deptId = row.deptId
					this.editForm.deptName = row.deptName
					this.editForm.deptNo = row.deptNo
				} else {
					this.title = '添加'
					this.editForm.deptId = ''
					this.editForm.deptName = ''
					this.editForm.deptNo = ''
				}
			},
			// 关闭编辑、增加弹出框
			closeDialog() {
				this.editFormVisible = false
			},
			formatAudit(row) {
				return row.infoIsPass == 1 ? "通过" : "不通过"
			}


		}
	}
</script>

<style scoped>
	.user-search,
	.audit {
		margin-top: 20px;
	}

	.userRole {
		width: 100%;
	}

	.bar-font {
		font-weight: 900;
	}

	.button:focus {
		background-color: #ead954;
		color: white;
	}
	

</style>
